#ifndef BASEMODEL_H
#define BASEMODEL_H

#include "../observer/data.h"
#include <QSharedPointer>

class BaseModel
{
public:
    /**
     * @brief init
     */
    virtual void init() = 0;

    /**
     * @brief 不同的Model子类具有不同Data子类，因此函数体会变化
     * @param dataPtr
     */
    virtual void setModel(QSharedPointer<Data> dataPtr) = 0;

    /**
     * @brief 获取model的数据
     * @return
     */
    virtual QSharedPointer<Data> getModelData() = 0;

    virtual ~BaseModel(){}
};

#endif // BASEMODEL_H
